package Day_0224.SpringAnnotation;

/**
 * @author zxc
 * @date 2023/02/24 18:19
 **/
public class Annotation_Component_Control_Service_Repository {
    public static void main(String[] args) {
        /**
         *  @Component, @Controller, @Repository, @Service 有何区别？
         * ===》
         * 1.@Component ：（通用地将java类，标记成bean）
         * （1）将该 java 类标记为 bean。它是任何 Spring 管理组件的通用构造型。
         * （2）spring 的组件扫描机制，可以将其拾取并将其拉入应用程序环境中。
         *
         * 2.@Controller：
         * （1）将一个类标记为 Spring Web MVC 控制器。
         * （2）标有它的 Bean 会自动导入到 IoC 容器中。
         *
         * 3.@Service ：（与@Component一样，只不过功能化成 服务层类注册成Bean）
         * （1）此注解是组件注解的特化。它不会对 @Component 注解提供任何其他行为。
         * （2）可以在服务层类中使用 @Service 而不是 @Component，因为它以更好的方式指定了意图。
         *
         * 4.@Repository ：（与@Component一样，只不过功能化成 数据层类Dao注册成Bean）
         * （1）这个注解是具有类似用途和功能的 @Component 注解的特化。为 DAO 提供了额外的好处。
         * （2）将 DAO 导入 IoC 容器，并使未经检查的异常有资格转换为 Spring DataAccessException。
         *
         *
         */
    }
}
